// @File  : config.go
// @Author: JunLong.Liao&此处不应有BUG!
// @Date  : 2021/5/24
// @slogan: 又是不想写代码的一天，神兽保佑，代码无BUG！
//         ┏┓      ┏┓
//        ┏┛┻━━━━━━┛┻┓
//        ┃     ღ    ┃
//        ┃  ┳┛   ┗┳ ┃
//        ┃     ┻    ┃
//        ┗━┓      ┏━┛
//          ┃      ┗━━━┓
//          ┃ 神兽咆哮!  ┣┓
//          ┃         ┏┛
//          ┗┓┓┏━━━┳┓┏┛
//           ┃┫┫   ┃┫┫
//           ┗┻┛   ┗┻┛

package config

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

const FILE_NAME = "./config/config.json"

func init() {
	Conf = make(map[string]map[string]string, 0)
	jsonData, err := ioutil.ReadFile(FILE_NAME)
	if err != nil {
		fmt.Printf("error:%s\n", err.Error())
		return
	}

	var jsonMap map[string]map[string]string

	if err := json.Unmarshal(jsonData, &jsonMap); err != nil {
		fmt.Printf("json unmarshal error:%s\n", err.Error())
		return
	}

	for key, item := range jsonMap {
		Conf[key] = make(map[string]string, 0)
		mm := make(map[string]string, 0)
		for key2, item2 := range item {
			mm[key2] = item2
		}
		Conf.Set(key, mm)
	}

	fmt.Printf("json:%s\n", jsonMap)
}

type Config map[string]map[string]string

var Conf Config

func (c Config) Set(key string, value map[string]string) {
	c[key] = value
}

func (c Config) Get(key, key2 string) string {
	data := c[key][key2]
	return data
}
